package cn.tedu.wms.product.service;

import cn.tedu.wms.product.pojo.dto.SupplierAddNewDTO;
import cn.tedu.wms.product.pojo.vo.SupplierListItemVO;
import cn.tedu.wms.product.pojo.vo.SupplierStandardVO;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * 处理供应商数据的业务接口
 *
 * @author chenliang
 * @version 0.0.1
 */
@Transactional
public interface ISupplierService {

    /**
     * 添加供应商
     *
     * @param addNewDTO 供应商数据
     */
    void addNew(SupplierAddNewDTO addNewDTO);

    /**
     * 批量添加供应商
     *
     * @param addNewList 供应商列表数据
     */
    void insertBatch(List<SupplierAddNewDTO> addNewList);

    /**
     * 根据供应商id 删除数据
     *
     * @param id 供应商id
     */
    void deleteById(Long id);

    /**
     * 根据id 修改供应商数据
     *
     * @param supplierStandardVO 供应商的标准信息
     */
    void updateById(SupplierStandardVO supplierStandardVO);

    /**
     * 根据供应商id 统计供应商数据
     *
     * @param id 供应商id
     */
    void countById(Long id);

    /**
     * 根据id 查询供应商数据
     *
     * @param id id
     * @return 返回供应商匹配的标准信息,如果没有匹配,则返回null
     */
    SupplierStandardVO getStandardById(Long id);

    /**
     * 查询供应商列表
     *
     * @return 供应商列表
     */
    List<SupplierListItemVO> list();



}
